package org.apache.cayenne;

import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IPath;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.jface.resource.ImageDescriptor;
import org.osgi.framework.BundleContext;
 
public class Activator extends AbstractUIPlugin {

	// The shared instance.
	private static Activator plugin;
	public static final String PLUGIN_ID = "org.apache.cayenne.extentions";
	/**
	 * The constructor.
	 */
	public Activator() {
		super();
		plugin = this;

	}

	/**
	 * Returns the shared instance of the plug-in.
	 */
	public static Activator getDefault() {
		return plugin == null ? new Activator() : plugin;
	}

	public void updateWorkspace(IPath path) {

		try {
			IWorkspace workspace = ResourcesPlugin.getWorkspace();
			IWorkspaceRoot root = workspace.getRoot();
			IProject project = root.getFileForLocation(path).getProject();
			project.refreshLocal(IResource.DEPTH_INFINITE, null);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public void start(BundleContext context) throws Exception {
		super.start(context);
		plugin = this;
	}
//
//	/*
//	 * (non-Javadoc)
//	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
//	 */
	public void stop(BundleContext context) throws Exception {
		plugin = null;
		super.stop(context);
	}
//
//	/**
//	 * Returns the shared instance
//	 *
//	 * @return the shared instance
//	 */
////	public static Activator getDefault() {
////		return plugin;
////	}
//
//	/**
//	 * Returns an image descriptor for the image file at the given
//	 * plug-in relative path
//	 *
//	 * @param path the path
//	 * @return the image descriptor
//	 */
	public static ImageDescriptor getImageDescriptor(String path) {
		return imageDescriptorFromPlugin(PLUGIN_ID, path);
	}

}